Meta description:

When the user performs an action that uses Ice, they may use Ice Coating Points (ICP) in one of two ways, depending on whether they currently possess any ICP. If the character has no Ice Coating Points, they may spend 2 SP one time to generate 1 ICP for a duration of 8 seconds. If the character has one or more Ice Coating Points, they may instead spend all of them to increase the action result by 2 SP per ICP.

  • Name:

    mIceCoatingI

  • Displayed name:

    Ice coating I

  • Description:

    When the user performs an action that uses Ice, they may use Ice Coating Points (ICP) in one of two ways, depending on whether they currently possess any ICP. If the character has no Ice Coating Points, they may spend 2 SP one time to generate 1 ICP for a duration of 8 seconds. If the character has one or more Ice Coating Points, they may instead spend all of them to increase the action result by 2 SP per ICP.

  • Cost:

    expCost(250,100)-0

  • Script:

    sICP = character:createStat([[sICP]]) sICP.displayName:set([[Ice coating]])

  • Duration:

    -1

  • Type:

    0

  • Recurrent script:

  • Add ons:

    • Condition:

      action:tagsContain([[iceDamage]]) or action:tagsContain([[ice]])

    • Description:

    • Variables:

      vMaxICP = 1 vICPDuration = 8

    • Script:

    • Action effects:

      • Use case:

        vICPAmount!=0

      • Name:

        Ice coating

      • Description:

        if character.sICP.current > 0 then [[You can consume all your ICP to add {character.sICP*2} SP to this action.]] else [[You generate vICPAmount.string ICP for vICPDuration.string seconds by spending 2 SP for each.]] end

      • Script:

        if character.sICP.current > 0 then character.mICPTracking:delete() else character.sICP:changeCurrent(vICPAmount.value) mICPTracking = character:createEffect([[mICPTracking]]) mICPTracking.displayName:set([[Ice coating points]]) mICPTracking.duration:set({{vICPDuration}}) mICPTracking:activate() mICPTracking.undoScript:add([[character.sICP:setCurrent(0)]]) end

      • Variables:

        if character.sICP.current > 0 then vICPAmount = ToggleVariable([[vICPAmount]],[[ICP]]) else vICPAmount = NumberVariable([[vICPAmount]],[[ICP]],[[0]],[[vMaxICP]]) end

  • Upgrades:

    • Name:

      mIceCoatingII

    • Displayed name:

      Ice coating II

    • Description:

      The user may now spend up to 4 SP to generate 2 ICP. Moreover, the Ice coating points last for an extra 2 seconds.

    • Cost:

      expCost(750,400)-125

    • Script:

      master.displayName:set([[Ice coating II]]) master.description:replace([[generate 1 ICP]],[[generate 2 ICP]]) master.description:replace([[8 seconds]],[[10 seconds]]) master.addOns[1].variables:replace([[vMaxICP = 1]],[[vMaxICP = 2]]) master.addOns[1].variables:replace([[vICPDuration = 8]],[[vICPDuration = 10]])

    • Duration:

      -1

    • Type:

      0

    • Recurrent script:

    • Add ons:

    • Name:

      mIceCoatingIII

    • Displayed name:

      Ice coating III

    • Description:

      The user may now spend up to 6 SP to generate 3 ICP. Moreover, the Ice coating points last for an extra 2 seconds.

    • Cost:

      expCost(1550,750)-375

    • Script:

      master.displayName:set([[Ice coating III]]) master.description:replace([[generate 2 ICP]],[[generate 3 ICP]]) master.description:replace([[10 seconds]],[[12 seconds]]) master.addOns[1].variables:replace([[vMaxICP = 2]],[[vMaxICP = 3]]) master.addOns[1].variables:replace([[vICPDuration = 10]],[[vICPDuration = 12]])

    • Duration:

      -1

    • Type:

      0

    • Recurrent script:

    • Add ons: